# -*- coding:utf-8 -*-
#! python3
from facecat import *
		
#视图的鼠标按下方法
#view 视图
#mp 坐标
#buttons 按钮 0未按下 1左键 2右键
#clicks 点击次数
#delta 滚轮值
def onMouseDown(view, mp, buttons, clicks, delta):
    onMouseDownDefault(view, mp, buttons, clicks, delta)
    if buttons == 2:
        gMenu.location = view.paint.touchDownPoint
        gMenu.visible = True
        adjustMenu(gMenu)
        invalidate(gMenu.paint)

#视图的鼠标点击方法
#view 视图
#firstTouch:是否第一次触摸 
#firstPoint:第一次触摸的坐标 
#secondTouch:是否第二次触摸 
#secondPoint:第二次触摸的坐标
#clicks 点击次数
def onClick(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks):
    onClickDefault(view, firstTouch, firstPoint, secondTouch, secondPoint, clicks)
    print(view.text)

gPaint = FCPaint() #创建绘图对象
gPaint.onMouseDown = onMouseDown 
gPaint.onClick = onClick

#消息循环
def WndProc(hwnd,msg,wParam,lParam):
	return WndProcDefault(gPaint,hwnd,msg,wParam,lParam)

#初始化窗体
createMainWindow(gPaint, "facecat-py", WndProc)
current_file_path = os.path.abspath(__file__)
current_file_dir = os.path.dirname(current_file_path)
file0 = open(current_file_dir + "\\xml\\menuexample.xml", encoding="UTF-8")
xml = file0.read()
file0.close()
renderFaceCat(gPaint, xml)
gMenu = FCMenu()
gMenu.size = FCSize(100, 300)
addView(gMenu, gPaint)
for i in range(0, 10):
    menuItem = FCMenuItem()
    menuItem.text = "菜单项" + str(i + 1)
    menuItem.value = str(i + 1)
    addMenuItem(menuItem, gMenu)
    for j in range(0, 10):
        subMenuItem = FCMenuItem()
        subMenuItem.text = "子菜单项" + str(j + 1)
        subMenuItem.value = str(j + 1)
        addMenuItemToParent(subMenuItem, menuItem)
        for z in range(0, 10):
            sunMenuItem = FCMenuItem()
            sunMenuItem.text = "孙菜单项" + str(z + 1)
            sunMenuItem.value = str(z + 1)
            addMenuItemToParent(sunMenuItem, subMenuItem)
showWindow(gPaint)